package com.fjh.springboot_01.service;
import com.fjh.springboot_01.pojo.Result;
import com.fjh.springboot_01.pojo.User;
import java.util.List;

public interface UserService {
    //    根据用户查询用户
    User findByUserName(String username);
    
    // 根据ID查询用户
    User findById(Integer id);
    
    //注册用户
    void register(String username, String password, String email, Integer role);
    //更新
    void update(User user);
    //更新头像
    void updateAvatar(String avatarUrl);

    void updatePwd(String newPwd);

    // 获取待审核的教师列表
    List<User> getPendingTeachers();

    // 处理教师审核
    void handleTeacherApproval(Integer userId, Integer status);

    // 获取所有用户
    List<User> getAllUsers();

    // 更新用户状态
    void updateUserStatus(Integer userId, Integer status);

    // 删除用户
    void deleteUser(Integer userId);

    // 获取特定角色的用户列表（包括获取全部用户）
    List<User> getUsersByRole(Integer role);
    
    // 获取热门教师（按评分排序）
    List<User> getPopularTeachers(int limit);
    
    // 获取平台教师数量
    int getTeacherCount();
    
    // 获取平台学生数量
    int getStudentCount();
    
    // 通过用户名重置密码
    void resetPassword(String username, String newPassword);
}
